% Zhejiang University Graduation Thesis/Design Template
% Author     : Zixuan Wang
% Email      : zxwang42 [at] gmail.com
% Update     : https://github.com/TheNetAdmin/zjuthesis/releases
% Discussion : https://github.com/TheNetAdmin/zjuthesis/discussions
% Documents  : https://thenetadmin.github.io/zjuthesis

% If you have trouble using this template, please:
%   1. First go through the online documentations mentioned above, to see if 
%      there're already solutions.
%   2. Go through GitHub Issue list, to see if there're discussions on similar
%      problems
%   3. Open a GitHub Issue to discuss with developers
%   4. If you don't know how to use GitHub, you can visit the online chat room 
%      or send me an email

\documentclass[
    % Debugging
    % PrintFilePath: print tex file path for each page,
    %                helpful if you want to locate the tex file of a page
    PrintFilePath   = false,
    % Thesis Info
    StudentName     = 姓名,
    StudentID       = 学号,
    AdvisorName     = 指导教师,
    Grade           = 2014,            % only the year, no '级'
    Major           = 专业,
    Department      = 学院,
    SubmitDate      = 递交日期,
    MajorFormat     = general,
    Degree          = undergraduate,   % 'undergraduate' or 'graduate'
    Type            = thesis,          % 'thesis'   or 'design'
    Period          = final,           % 'proposal' or 'final'
    BlindReview     = false,           % 'false'    or 'true'
    Language        = chinese,         % 'chinese'  or 'english'
    % Graduate Thesis Info
    GradLevel       = master,          % 'master' or 'doctor'
    Topic           = 研究方向,
    ColaboratorName = 合作导师,
    % Title
    Title           = 毕业论文/设计题目,
    TitleEng        = {{Graduation Thesis Title}}
]{zjuthesis}

\newcommand{\inputundergraduate}
{
    \ifthenelse{\equal{\Period}{final}}
    {
        % Final thesis
        % Final part
        \newcommand{\undergradcurrstage}{final}
        \newrefsection
        
        \coverstyle
        \inputpage{final/cover}

        \prevstyle
        \inputpage{final/previous}
        \inputpage{final/toc}

        \bodystyle
        \cleardoublepage
        \ifthenelse{\equal{\Type}{design}}
            {\part{毕业设计}}
            {\part{毕业论文}}
        
        \inputbody{final/content}

        \poststyle
        \inputpage{final/post}

        % Proposal part
        \renewcommand{\undergradcurrstage}{proposal}
        \newrefsection

        \coverstyle
        \cleardoublepage
        \ifthenelse{\equal{\Type}{design}}
            {\part{毕业设计开题报告}}
            {\part{毕业论文开题报告}}

        \inputpage{proposal/cover}
        \inputpage{proposal/previous}
        
        \bodystyle
        \inputbody{proposal/content}

        \poststyle
        \inputpage{proposal/post}
    }
    {
        % Thesis proposal
        \newcommand{\undergradcurrstage}{proposal}

        \coverstyle
        \inputpage{proposal/cover}
    
        % 'proposal' previous part uses 'empty' page style,
        % as shown in cs undergrad template.
        \inputpage{proposal/previous}
        
        \prevstyle
        \inputpage{proposal/toc}
    
        \bodystyle
        \inputbody{proposal/content}
        
        \poststyle
        \inputpage{proposal/post}
    }
}

\newcommand{\inputgraduate}
{
    \coverstyle
    \inputpage{cover}

    \prevstyle
    \inputpage{previous}
    \inputpage{toc}
    
    % Main contents
    \bodystyle
    \inputbody{content}

    % Post part
    \poststyle
    \inputbody{post}
}

\begin{document}

\ifthenelse{\equal{\Degree}{undergraduate}}
{
    \inputundergraduate{}
}
{
    \inputgraduate{}
}
\end{document}
